:root{--primary:#007aff;--bg:#f2f2f7;--card-bg:#fff;--text:#1c1c1e;--text-secondary:#8e8e93;--danger:#ff3b30;--success:#34c759}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg);color:var(--text);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}header{background:var(--card-bg);border-bottom:1px solid #e5e5ea;padding:20px}header h1{text-align:center;margin:0 0 15px;font-size:24px}.stats{text-align:center;justify-content:space-around;display:flex}.stat-item{flex-direction:column;display:flex}.stat-item span{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.stat-item strong{font-size:18px}#stat-net{color:var(--primary)}main{padding:20px}.form-section,.list-section{background:var(--card-bg);border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 2px 8px #0000000d}h2{border-bottom:1px solid #e5e5ea;margin-top:0;margin-bottom:15px;padding-bottom:10px;font-size:18px}.form-group{margin-bottom:15px}.form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:14px;display:block}.form-group input{background:#fafafa;border:1px solid #d1d1d6;border-radius:8px;width:100%;padding:12px;font-size:16px}.form-group input:focus{border-color:var(--primary);background:#fff;outline:none}.radio-group{gap:15px;display:flex}.radio-group label{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:16px;display:flex}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-size:16px;font-weight:600}.btn-primary:active{opacity:.8}.list-header{justify-content:space-between;align-items:center;display:flex}.btn-secondary{color:var(--primary);border:1px solid var(--primary);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:14px}.record-list{margin:0;padding:0;list-style:none}.record-item{border-bottom:1px solid #e5e5ea;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.record-item:last-child{border-bottom:none}.record-info{flex:1}.record-who{font-size:16px;font-weight:600}.record-why{color:var(--text-secondary);margin-top:2px;font-size:13px}.record-time{color:var(--text-secondary);margin-top:2px;font-size:12px}.record-amount{margin-right:12px;font-size:16px;font-weight:700}.amount-in{color:var(--success)}.amount-out{color:var(--danger)}.btn-delete{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:5px;font-size:18px}.empty-tip{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:14px;display:none}
