:root{--bg: #0f172a;--card: #1e293b;--ink: #f1f5f9;--muted: #94a3b8;--accent: #4f46e5;--accent-d: #4338ca;--good: #16a34a;--warn: #f59e0b;--bad: #ef4444;--line: #334155}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}.wrap{max-width:480px;margin:0 auto;padding:16px 16px 96px}h1{font-size:1.5rem;margin:0}h2{font-size:1.05rem;margin:0 0 10px}.muted{color:var(--muted)}button{font:inherit;cursor:pointer;border:none;border-radius:12px;padding:14px 18px;background:var(--accent);color:#fff;min-height:48px}button:active{background:var(--accent-d)}input,select{font:inherit;width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);min-height:48px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0}.head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 4px}.sub{margin:0 0 8px;font-size:.9rem}.badge{background:#0b1222;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.78rem;white-space:nowrap}.badge.pro{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;letter-spacing:.05em}.catbar{margin:8px 0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:10px 16px;min-height:44px;font-size:.95rem}.chip.active{background:var(--accent);border-color:var(--accent)}.chip.add{border-style:dashed;background:transparent;color:var(--muted)}.addcat{display:flex;gap:8px;margin-top:10px}.addcat button{width:auto;white-space:nowrap}.logform{display:flex;flex-direction:column}.lbl{font-size:.8rem;color:var(--muted);margin:14px 0 6px}.segrow{display:flex;gap:8px}.seg{flex:1;background:#0b1222;border:1px solid var(--line);color:var(--ink);min-height:48px}.seg.active{background:var(--accent);border-color:var(--accent)}.flagrow{display:flex;flex-wrap:wrap;gap:8px}.flag{background:#0b1222;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:10px 14px;min-height:44px;font-size:.9rem}.flag.on{background:var(--bad);border-color:var(--bad)}.save{margin-top:16px}.stats{display:flex;gap:8px}.stat{flex:1;background:#0b1222;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;display:flex;flex-direction:column;gap:2px}.stat .num{font-size:1.6rem;font-weight:700}.trends,.alerts{margin-top:12px;display:flex;flex-direction:column;gap:6px}.trend{margin:0;padding:10px 12px;border-radius:10px;font-size:.9rem}.trend.warn{background:#f59e0b1f;border:1px solid var(--warn);color:#fcd34d}.trend.bad{background:#ef44441f;border:1px solid var(--bad);color:#fca5a5}.note{margin:12px 0 0;font-size:.82rem}.timeline h2{margin:20px 0 4px}.entry{padding:14px 16px}.entry-main{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.etype{font-weight:600}.etime{font-size:.82rem}.eflags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.eflag{background:#ef444426;border:1px solid var(--bad);color:#fca5a5;border-radius:999px;padding:3px 10px;font-size:.78rem}.enote{margin:8px 0 0;font-size:.9rem;color:var(--ink)}.del{margin-top:12px;background:transparent;border:1px solid var(--line);color:var(--muted);min-height:44px;padding:8px 14px;font-size:.85rem;width:auto}.empty p{margin:0;color:var(--muted)}.upsell strong{display:block;margin-bottom:4px}.upsell p{margin:0 0 12px;font-size:.9rem}.upsell button{width:100%}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;padding:12px;z-index:50}.modal{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;width:100%;max-width:480px}.modal h2{margin-top:0}.prolist{margin:12px 0 18px;padding-left:18px;color:var(--ink)}.prolist li{margin:6px 0}.btn-link{display:block;text-align:center;text-decoration:none;background:var(--accent);color:#fff;border-radius:12px;padding:15px;min-height:48px;font-weight:600}.btn-link:active{background:var(--accent-d)}.ghost{width:100%;margin-top:10px;background:transparent;border:1px solid var(--line);color:var(--ink)}.tiny{font-size:.82rem}.modal .tiny.muted{margin:14px 0 0}.removelist{display:flex;flex-direction:column;gap:8px;margin-top:8px}.removelist .ghost{margin-top:0;min-height:44px}
