:root{--bg: #fff;--fg: #1a1a1a;--muted: #888;--card: #f4f4f6;--accent: #2ea6ff;--err: #d33}:root[data-theme=dark]{--bg: #17212b;--fg: #f5f5f5;--muted: #aaa;--card: #232e3c;--accent: #5eb5f7}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--fg)}.app{max-width:640px;margin:0 auto;padding-bottom:64px}.app-header{padding:12px 16px;font-weight:600;border-bottom:1px solid var(--card);position:sticky;top:0;background:var(--bg)}.app-main{padding:12px 16px}.kpi{background:var(--card);border-radius:12px;padding:12px;margin-bottom:12px}.row{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:var(--card);border:none;border-radius:12px;padding:12px;margin-bottom:8px;color:var(--fg);cursor:pointer}.row-main{font-size:16px}.row-sub{font-size:13px;color:var(--muted);margin-top:2px}.trigger{color:var(--accent);font-size:14px;margin:4px 0}.err{color:var(--err)}button.primary{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 16px;font-size:15px;width:100%;margin:10px 0;cursor:pointer}button.link{background:none;border:none;color:var(--accent);font-size:15px;cursor:pointer;padding:6px 0}button.danger{background:none;border:1px solid var(--err);color:var(--err);border-radius:10px;padding:12px 16px;font-size:15px;width:100%;margin:24px 0 8px;cursor:pointer}fieldset{border:1px solid var(--card);border-radius:12px;margin:12px 0}fieldset label,.note label{display:block;margin:8px 0;font-size:14px}select,input{font-size:15px;padding:6px;margin-left:6px;background:var(--bg);color:var(--fg);border:1px solid var(--muted);border-radius:8px}.note input{display:block;width:100%;margin:6px 0 0}input.search{display:block;width:100%;margin:0 0 8px;padding:10px}.edit{border:1px solid var(--card);border-radius:12px;padding:12px;margin:8px 0}.edit-block{margin:10px 0}.edit-label{font-size:13px;color:var(--muted);margin-bottom:4px}.edit-block input{display:block;width:100%;margin:4px 0}.edit-row{display:flex;align-items:center;gap:6px}.edit-row input{flex:1}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;border-top:1px solid var(--card);background:var(--bg)}.tabbar button{flex:1;padding:14px;background:none;border:none;color:var(--muted);font-size:15px;cursor:pointer}.tabbar button.active{color:var(--accent);font-weight:600}
