:root{--primary: #0ea5e9;--bg: #f8fafc;--card: #ffffff;--muted: #64748b}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Noto Sans,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:#0f172a}a{color:var(--primary);text-decoration:none}.container{max-width:960px;margin:0 auto;padding:16px}header{position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid #e2e8f0}header .nav{display:flex;gap:12px;align-items:center;padding:10px 16px}header .nav a{padding:6px 10px;border-radius:8px}header .nav a.active{background:#e0f2fe}.card{background:var(--card);border:1px solid #e2e8f0;border-radius:12px;padding:16px}.grid{display:grid;gap:12px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.btn{background:var(--primary);color:#fff;border:none;padding:10px 14px;border-radius:8px;cursor:pointer}.btn.ghost{background:transparent;color:var(--primary);border:1px solid var(--primary)}.input,.select,.textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.row{display:flex;gap:12px}.row.wrap{flex-wrap:wrap}.mt-12{margin-top:12px}.mt-20{margin-top:20px}.muted{color:var(--muted)}.balance-pos{color:#16a34a}.balance-neg{color:#dc2626}table{width:100%;border-collapse:collapse}th,td{padding:8px 6px;border-bottom:1px solid #e2e8f0;text-align:left}
