:root{--bg: #0d0d0d;--panel: #1a1a1a;--border: #2a2a2a;--text: #f4f4f4;--muted: #999;--accent: #cc0000;--accent-hover: #e60000;--success: #00b96b;--danger: #ff4d4f}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Microsoft JhengHei,sans-serif;font-size:17px;line-height:1.5;overscroll-behavior-y:contain}input,select,button,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.container{max-width:960px;margin:0 auto;padding:16px max(env(safe-area-inset-right),16px) max(env(safe-area-inset-bottom),16px) max(env(safe-area-inset-left),16px)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:max(env(safe-area-inset-top),12px) max(env(safe-area-inset-right),16px) 12px max(env(safe-area-inset-left),16px);background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar h1{font-size:19px;margin:0;font-weight:600}.btn{padding:10px 16px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;cursor:pointer;transition:.15s;font-size:16px;min-height:44px}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:14px;min-height:32px}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}.form-row{display:grid;grid-template-columns:120px 1fr;gap:10px 14px;align-items:center;margin-bottom:12px}.form-row label{color:var(--muted);font-size:15px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{width:100%;padding:12px 14px;background:#111;color:var(--text);border:1px solid var(--border);border-radius:8px;outline:none;font-size:17px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:16px}th,td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:14px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.summary-item{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.summary-item .label{color:var(--muted);font-size:14px}.summary-item .value{font-size:26px;font-weight:700;margin-top:6px}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.tab{padding:12px 18px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;color:var(--muted);font-size:16px}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:500}.error{color:var(--danger);margin:8px 0}.muted{color:var(--muted);font-size:13px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}.form-row label{font-size:12px}table{font-size:13px}}.swipe-wrap{background:var(--danger);border-bottom:1px solid var(--border)}.swipe-wrap:last-child{border-bottom:none}.swipe-content{background:var(--panel);user-select:none;-webkit-user-select:none;cursor:pointer}.swipe-delete-btn{position:absolute;right:0;top:0;bottom:0;width:90px;border:none;background:var(--danger);color:#fff;font-weight:600;font-size:16px;cursor:pointer}.swipe-delete-btn:hover{background:#ff7875}.list-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--panel);gap:14px;min-height:60px}.list-row .row-meta{flex:1;min-width:0}.list-row .row-meta .row-title{font-weight:500;font-size:17px}.list-row .row-meta .row-sub{color:var(--muted);font-size:14px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .row-amt{font-weight:700;font-size:19px;white-space:nowrap}.list-row .row-tag{font-size:12px;padding:3px 8px;border-radius:4px;background:var(--bg);color:var(--muted);border:1px solid var(--border);margin-left:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto}.modal h4{margin:0 0 16px;font-size:19px}
