*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green: #00ff88;--green-dim: rgba(0,255,136,.08);--green-border: rgba(0,255,136,.2);--bg: #0a0a0c;--bg-card: #111114;--bg-card2: #18181c;--border: rgba(255,255,255,.07);--border-mid: rgba(255,255,255,.12);--text: #f0f0f0;--text-2: #888;--text-3: #555;--red: #ff5555;--red-dim: rgba(255,85,85,.08);--font: "JetBrains Mono", monospace;--radius: 12px;--radius-sm: 8px;--nav-h: 54px;--bottom-h: 64px}html{font-family:var(--font);-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);color:var(--text);overflow-x:hidden}*{-webkit-tap-highlight-color:transparent}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green-border)!important;box-shadow:0 0 0 3px #00ff8812!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.s-input{width:100%;background:var(--bg-card2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px;color:var(--text);font-family:var(--font);font-size:15px}.s-input::placeholder{color:var(--text-3)}.s-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);padding:12px 20px;font-family:var(--font);font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap}.s-btn:active{transform:scale(.97)}.s-btn:disabled{opacity:.45;cursor:not-allowed}.s-btn-primary{background:var(--green);color:#0a0a0c}.s-btn-ghost{background:var(--bg-card2);color:var(--text-2);border:1px solid var(--border)}.s-btn-danger{background:var(--red-dim);color:var(--red);border:1px solid rgba(255,85,85,.2)}.s-btn-sm{padding:8px 14px;font-size:12px}.s-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin-bottom:7px}.navbar{position:sticky;top:0;z-index:100;height:var(--nav-h);background:#0a0a0ce6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.navbar-inner{max-width:860px;margin:0 auto;height:100%;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.navbar-logo{display:flex;align-items:center;gap:9px;background:none;border:none;padding:0;cursor:pointer;flex-shrink:0}.navbar-logo-mark{width:30px;height:30px;background:linear-gradient(135deg,var(--green),#00c964);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#0a0a0c;box-shadow:0 0 14px #00ff884d}.navbar-logo-text{font-size:15px;font-weight:700;letter-spacing:.14em;color:var(--text)}.navbar-right{display:flex;align-items:center;gap:10px;min-width:0}.navbar-user{display:flex;align-items:center;gap:8px;min-width:0}.navbar-user-name{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.navbar-user-sub{font-size:10px;color:var(--text-3)}.navbar-signout{background:var(--bg-card2);border:1px solid var(--border);border-radius:7px;padding:6px 12px;color:var(--text-3);font-size:11px;font-family:var(--font);white-space:nowrap}.main{padding:28px 20px 80px}.content{max-width:860px;margin:0 auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;animation:slideUp .2s ease}.modal-handle{width:36px;height:4px;border-radius:2px;background:var(--border-mid);margin:12px auto 0}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid var(--border)}.modal-title{font-size:15px;font-weight:700}.modal-close{background:var(--bg-card2);border:1px solid var(--border);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-2);font-size:13px}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg);position:relative;overflow:hidden}.auth-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 50% -5%,rgba(0,255,136,.07) 0%,transparent 65%)}.auth-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(0,255,136,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,136,.025) 1px,transparent 1px);background-size:44px 44px}.auth-card{background:var(--bg-card);border:1px solid var(--green-border);border-radius:18px;padding:36px 28px;width:100%;max-width:420px;position:relative;z-index:1;box-shadow:0 0 80px #00ff880a,0 24px 48px #00000080}.auth-logo{display:flex;align-items:center;gap:14px;margin-bottom:28px}.auth-logo-mark{width:44px;height:44px;background:linear-gradient(135deg,var(--green),#00c964);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#0a0a0c;box-shadow:0 0 20px #00ff8859}.auth-logo-title{font-size:19px;font-weight:700;letter-spacing:.14em}.auth-logo-sub{font-size:10px;color:var(--text-3);letter-spacing:.1em;margin-top:2px}.auth-tabs{display:flex;background:var(--bg-card2);border-radius:9px;padding:3px;margin-bottom:24px;border:1px solid var(--border)}.auth-tab{flex:1;padding:9px;background:transparent;border:none;color:var(--text-3);font-size:13px;font-family:var(--font);border-radius:7px;transition:all .2s}.auth-tab.active{background:var(--green-dim);color:var(--green)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column}.auth-at{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-3);font-size:14px;pointer-events:none}.auth-username-hint{font-size:11px;margin-top:5px}.auth-error{background:#ff555512;border:1px solid rgba(255,85,85,.2);border-radius:8px;padding:10px 14px;color:var(--red);font-size:12px}.auth-success{background:var(--green-dim);border:1px solid var(--green-border);border-radius:8px;padding:10px 14px;color:var(--green);font-size:12px}.auth-submit{background:linear-gradient(135deg,var(--green),#00c964);border:none;border-radius:10px;padding:15px;color:#0a0a0c;font-size:14px;font-weight:700;font-family:var(--font);letter-spacing:.05em;margin-top:4px}.auth-hint{text-align:center;color:var(--text-3);font-size:12px;margin-top:18px}.auth-switch{background:none;border:none;color:var(--green);font-size:12px;font-family:var(--font);padding:0}.welcome{margin-bottom:24px}.welcome-title{font-size:22px;font-weight:700;margin-bottom:4px}.welcome-name{color:var(--green)}.welcome-sub{font-size:12px;color:var(--text-3)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.section-title{font-size:17px;font-weight:700}.section-sub{font-size:11px;color:var(--text-3);margin-top:2px}.group-cards{display:flex;flex-direction:column;gap:10px}.group-card{display:flex;align-items:stretch;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;overflow:hidden;transition:border-color .2s,transform .15s}.group-card:active{transform:scale(.99)}.group-card-accent{width:4px;flex-shrink:0}.group-card-body{padding:14px 16px;flex:1;min-width:0}.group-card-top{display:flex;align-items:center;gap:11px;margin-bottom:12px}.group-card-icon{width:40px;height:40px;border-radius:10px;background:var(--green-dim);border:1px solid var(--green-border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--green);flex-shrink:0}.group-card-name{font-size:15px;font-weight:600}.group-card-desc{font-size:11px;color:var(--text-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-card-arrow{color:var(--text-3);font-size:16px;margin-left:auto}.group-card-stats{display:flex;gap:20px}.group-stat-val{font-size:14px;font-weight:700}.group-stat-label{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-top:1px}.inbox{background:var(--green-dim);border:1px solid var(--green-border);border-radius:var(--radius);padding:16px;margin-bottom:24px}.inbox-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.inbox-bell{position:relative;flex-shrink:0}.inbox-badge{position:absolute;top:-5px;right:-6px;background:var(--green);color:#0a0a0c;font-size:9px;font-weight:700;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.inbox-title{font-size:14px;font-weight:600}.inbox-sub{font-size:11px;color:var(--text-3);margin-top:1px}.inbox-cards{display:flex;flex-direction:column;gap:8px}.inbox-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:13px 14px;display:flex;flex-direction:column;gap:10px}.inbox-card-top{display:flex;align-items:center;gap:11px}.inbox-card-icon{width:38px;height:38px;border-radius:9px;flex-shrink:0;background:var(--green-dim);border:1px solid var(--green-border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--green)}.inbox-card-group{font-size:14px;font-weight:600;margin-bottom:3px}.inbox-card-by{font-size:11px;color:var(--text-3)}.inbox-card-by-name{color:var(--text)}.inbox-card-by-user{color:var(--green)}.inbox-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gd-header{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.gd-header-row1{display:flex;align-items:center;gap:10px}.gd-back{background:var(--bg-card2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text-2);font-size:12px;font-family:var(--font);flex-shrink:0}.gd-title{font-size:19px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-desc{font-size:12px;color:var(--text-3);margin-top:3px}.gd-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.gd-actions .s-btn{width:100%;padding:11px 8px;font-size:12px}.gd-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.gd-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:13px 14px}.gd-stat-val{font-size:19px;font-weight:700}.gd-stat-label{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;margin-top:3px}.gd-members{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.gd-member{display:flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:5px 10px 5px 5px}.gd-member-name{font-size:11px;color:var(--text-2)}.gd-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gd-tabs::-webkit-scrollbar{display:none}.gd-tab{background:none;border:none;color:var(--text-3);font-size:13px;font-family:var(--font);padding:10px 18px;border-bottom:2px solid transparent;white-space:nowrap;flex-shrink:0;margin-bottom:-1px;transition:all .2s}.gd-tab.active{color:var(--green);border-bottom-color:var(--green)}.gd-tab-spacer{flex:1}.gd-settle-btn{flex-shrink:0;align-self:center;margin-right:4px}.expense-row{display:flex;align-items:center;gap:11px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:13px 14px;margin-bottom:8px}.expense-info{flex:1;min-width:0}.expense-title{font-size:14px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:11px;color:var(--text-3)}.expense-right{text-align:right;flex-shrink:0}.expense-amt{font-size:16px;font-weight:700}.expense-my{font-size:11px;margin-top:2px}.balance-row{display:flex;align-items:center;gap:11px;border-radius:10px;padding:13px 14px;margin-bottom:8px;border:1px solid var(--border)}.balance-info{flex:1;min-width:0}.balance-name{font-size:13px;font-weight:500;margin-bottom:2px}.balance-detail{font-size:11px;color:var(--text-3)}.balance-val{font-size:16px;font-weight:700;text-align:right}.balance-val-label{font-size:10px;color:var(--text-3);margin-top:1px}.debt-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:13px 14px;margin-bottom:8px;gap:8px;flex-wrap:wrap}.debt-person{display:flex;align-items:center;gap:8px}.debt-person-name{font-size:13px}.debt-arrow{display:flex;flex-direction:column;align-items:center}.debt-amount{font-size:14px;font-weight:700;color:var(--red)}.history-row{display:flex;align-items:center;gap:11px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:13px 14px;margin-bottom:8px}.history-dot{width:8px;height:8px;border-radius:50%;background:var(--border-mid);flex-shrink:0}.history-dot.green{background:var(--green)}.history-info{flex:1;min-width:0}.history-title{font-size:13px;margin-bottom:2px}.history-sub{font-size:11px;color:var(--text-3)}.history-amt{font-size:14px;font-weight:700;flex-shrink:0}.settled-box{text-align:center;padding:40px 20px;background:var(--green-dim);border:1px dashed var(--green-border);border-radius:var(--radius)}.settled-check{width:48px;height:48px;border-radius:50%;border:2px solid rgba(0,255,136,.4);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.settled-title{color:var(--green);font-size:15px;font-weight:600}.settled-sub{color:var(--text-3);font-size:12px;margin-top:4px}.empty{text-align:center;padding:44px 20px}.empty-icon{width:44px;height:44px;border-radius:11px;background:var(--bg-card2);border:1px solid var(--border);margin:0 auto 14px;display:flex;align-items:center;justify-content:center}.empty-line{width:18px;height:2px;background:var(--border-mid);border-radius:2px}.empty-text{font-size:13px;color:var(--text-2);margin-bottom:4px}.empty-sub{font-size:11px;color:var(--text-3)}.sub-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:10px}.cat-badge{border-radius:5px;padding:2px 7px;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.split-toggle{display:flex;gap:8px}.split-btn{flex:1;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card2);color:var(--text-3);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.split-btn.active{background:var(--green-dim);color:var(--green);border-color:var(--green-border)}.split-member{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:9px;border:1px solid var(--border);background:var(--bg-card2);transition:all .15s;margin-bottom:6px}.split-member.active{background:#00ff880a;border-color:#00ff8826}.split-member-name{flex:1;font-size:13px;color:var(--text)}.split-member-amt{font-size:13px;font-weight:600}.warn-box{background:#ff55550f;border:1px solid rgba(255,85,85,.2);border-radius:8px;padding:12px 14px}.warn-title{color:var(--red);font-size:12px;font-weight:700;margin-bottom:4px}.warn-body{color:#c55;font-size:12px}.suggest-box{background:#ff55550d;border:1px solid rgba(255,85,85,.15);border-radius:9px;padding:12px 14px}.suggest-label{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:3px}.suggest-body{color:var(--text);font-size:13px}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,255,136,.15);border-top-color:var(--green);animation:spin .7s linear infinite;margin:0 auto}.spinner-page{padding:48px;display:flex;justify-content:center}@media(max-width:640px){:root{--nav-h: 50px}input,select,textarea{font-size:16px!important}.main{padding:14px 12px 80px}.navbar-inner{padding:0 14px}.navbar-logo-text{font-size:13px;letter-spacing:.1em}.navbar-user-name{max-width:65px;font-size:11px}.navbar-user-sub{display:none}.navbar-signout{padding:5px 10px;font-size:10px}.welcome-title{font-size:19px}.gd-summary{grid-template-columns:1fr 1fr}.gd-stat-val{font-size:17px}.modal-box{border-radius:20px 20px 0 0;max-height:94vh}}@media(min-width:641px){.modal-overlay{align-items:center;padding:20px}.modal-box{border-radius:16px;max-width:500px}.modal-handle{display:none}.gd-summary{grid-template-columns:repeat(4,1fr)}}
