:root{--bg: #f5f6f8;--card: #ffffff;--text: #1f2329;--muted: #8a8f99;--primary: #3370ff;--danger: #f54a45;--green: #34a853;--border: #e5e7eb}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:720px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.app-header{padding:12px 16px;background:var(--card);border-bottom:1px solid var(--border)}.app-header h1{margin:0;font-size:18px}main{flex:1;padding:12px 16px 80px}.panel{background:var(--card);border-radius:12px;padding:16px}.panel h2{margin:0 0 12px;font-size:16px}.panel h3{margin:20px 0 8px;font-size:14px;color:var(--muted)}.chat-view{display:flex;flex-direction:column;gap:8px}.overview{display:flex;gap:12px;background:var(--card);border-radius:12px;padding:12px 16px}.overview>div,.stat-card{display:flex;flex-direction:column}.overview-label{font-size:12px;color:var(--muted)}.overview-value{font-size:18px;font-weight:600}.positive{color:var(--green)}.negative{color:var(--danger)}.chat-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto;padding:4px}.bubble-row{display:flex}.bubble-row.user{justify-content:flex-end}.bubble{max-width:80%;padding:10px 14px;border-radius:14px;background:var(--card);line-height:1.5;white-space:pre-wrap;word-break:break-word}.bubble.user{background:var(--primary);color:#fff}.bubble.confirm{border:1px solid #f7b500}.bubble.error{border:1px solid var(--danger)}.quick-options{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.quick-options button,.samples button{border:1px solid var(--primary);color:var(--primary);background:#fff;border-radius:999px;padding:4px 12px;cursor:pointer;font-size:13px}.samples{display:flex;flex-wrap:wrap;gap:6px}.chat-input{display:flex;gap:8px}.chat-input input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:999px;font-size:15px}.chat-input button,.account-form button,.settings-actions button{background:var(--primary);color:#fff;border:none;border-radius:999px;padding:10px 20px;cursor:pointer}.account-list,.tx-list,.plan-list,.cat-list,.due-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.account-item,.tx-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.account-item .meta,.tx-meta{display:block;font-size:12px;color:var(--muted)}.tag{display:inline-block;margin-left:6px;padding:1px 8px;font-size:11px;border-radius:999px;background:#eef2ff;color:var(--primary)}.tag.danger{background:#fde8e8;color:var(--danger)}.account-form{display:flex;flex-wrap:wrap;gap:8px}.account-form input,.account-form select,.filter-row input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px}.error-text{color:var(--danger)}.info-text{color:var(--green)}.empty{color:var(--muted);font-size:13px}.calendar-header{display:flex;align-items:center;justify-content:space-between}.calendar-header h2{margin:0}.calendar-header button{border:none;background:none;font-size:24px;cursor:pointer;color:var(--primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}.weekday{text-align:center;font-size:12px;color:var(--muted);padding:4px 0}.day{min-height:64px;border:1px solid var(--border);border-radius:8px;padding:4px;font-size:11px;overflow:hidden}.day.empty{border:none}.day.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.day-num{font-weight:600;font-size:12px}.day-flow{display:flex;flex-direction:column}.due-item{margin-top:2px;padding:1px 4px;border-radius:4px;background:#fff7e0;color:#b26a00;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.due-item.overdue,.due-list .overdue{background:#fde8e8;color:var(--danger)}.due-list li{display:flex;gap:10px;padding:8px 10px;border-radius:8px;background:#fff7e0}.filter-row{display:flex;gap:8px;margin-bottom:12px}.filter-row button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:4px 12px;cursor:pointer}.tx-desc{font-weight:500}.tx-amount{font-weight:600;white-space:nowrap}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-card{background:var(--bg);border-radius:10px;padding:10px}.cat-list li{display:flex;align-items:center;gap:8px}.cat-name{width:64px;font-size:13px}.cat-bar-wrap{flex:1;height:10px;background:var(--bg);border-radius:999px;overflow:hidden}.cat-bar{height:100%;background:var(--primary);border-radius:999px}.cat-amount{font-size:13px;white-space:nowrap}.plan-list li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-size:13px}.plan-list li span:last-child{color:var(--muted)}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-actions .danger{background:var(--danger)}.meta{font-size:12px;color:var(--muted)}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:720px;display:flex;background:var(--card);border-top:1px solid var(--border)}.tab-bar button{flex:1;padding:12px 0;border:none;background:none;font-size:14px;color:var(--muted);cursor:pointer}.tab-bar button.active{color:var(--primary);font-weight:600}
