:root{--paper: #eef1f5;--surface: #ffffff;--surface-2: #f4f6f9;--line: #d5dbe3;--line-soft: #e6eaef;--ink: #10151c;--ink-2: #333d4a;--muted: #5b6674;--accent: #0d52bf;--accent-ink: #0a44a0;--accent-bg: #e4edfd;--blush: #eaf0fb;--blush-ink: #123a7a;--good: #0a7d55;--good-bg: #dff0e8;--warn: #8a5100;--warn-bg: #fdefd9;--bad: #b3251c;--bad-bg: #fce4e2;--shadow: 0 1px 2px rgba(16, 21, 28, .06), 0 10px 26px -16px rgba(16, 21, 28, .3);--r: 14px;--safe-b: env(safe-area-inset-bottom, 0px)}@media(prefers-color-scheme:dark){:root{--paper: #0d1117;--surface: #161c25;--surface-2: #1d2630;--line: #2c3744;--line-soft: #232d38;--ink: #eaeff5;--ink-2: #bcc7d4;--muted: #8b98a8;--accent: #5b9bff;--accent-ink: #8ab8ff;--accent-bg: #12243f;--blush: #16243a;--blush-ink: #bcd4ff;--good: #3fbd8a;--good-bg: #0f2c22;--warn: #e0a256;--warn-bg: #32240f;--bad: #f08279;--bad-bg: #3a1d1b;--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 10px 26px -16px rgba(0, 0, 0, .8)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tnum{font-variant-numeric:tabular-nums}.app{display:flex;flex-direction:column;min-height:100%}.scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:84px}.wrap{max-width:640px;margin:0 auto;padding:0 14px}.top{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line);padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 12px}.top-inner{max-width:640px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.top h1{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em}.top .sub{font-size:12.5px;color:var(--muted);margin-top:1px}.avatar{width:36px;height:36px;border-radius:50%;flex:none;background:var(--accent-bg);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:14px;border:1px solid var(--line)}.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:14px 0}.strip>button{background:var(--surface);padding:11px 8px;text-align:center}.strip>button[aria-pressed=true]{background:var(--accent-bg)}.strip .n{font-size:22px;font-weight:800;letter-spacing:-.02em}.strip .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1px}.strip .n.bad{color:var(--bad)}.strip .n.good{color:var(--good)}.sec{display:flex;align-items:baseline;gap:8px;margin:20px 0 9px}.sec h2{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.sec .count{font-size:12px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;margin-bottom:10px;box-shadow:var(--shadow);display:grid;gap:10px}.card.late{border-left:3px solid var(--bad)}.card.due{border-left:3px solid var(--accent)}.card.fresh{border-left:4px solid var(--good)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card .who{min-width:0}.card .nm{font-size:17px;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}.card .meta{font-size:12.5px;color:var(--muted);margin-top:2px}.card .note{font-size:14px;color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:8px 10px;overflow-wrap:anywhere}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap}.p-late{background:var(--bad-bg);color:var(--bad)}.p-due{background:var(--accent-bg);color:var(--accent-ink)}.p-soon{background:var(--surface-2);color:var(--muted)}.p-stage{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.p-good{background:var(--good-bg);color:var(--good)}.star{font-size:20px;line-height:1;padding:2px 4px;color:var(--muted)}.star.on{color:var(--accent)}.acts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border-radius:10px;font-size:14.5px;font-weight:600;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);text-decoration:none;transition:transform .06s ease}.btn:active{transform:scale(.97)}.btn.call{background:var(--good);border-color:var(--good);color:#fff}.btn.wa{background:var(--surface-2)}.btn.log{background:var(--accent);border-color:var(--accent);color:#fff}.btn.wide{width:100%}.btn.ghost{background:transparent}.btn[disabled]{opacity:.55;pointer-events:none}.empty{text-align:center;padding:48px 24px;color:var(--muted)}.empty .big{font-size:40px;margin-bottom:8px}.empty h3{margin:0 0 4px;color:var(--ink);font-size:17px}.skel{height:92px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);margin-bottom:10px;opacity:.6}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--safe-b);display:grid;grid-template-columns:repeat(4,1fr)}.nav button{padding:9px 4px;display:grid;gap:2px;justify-items:center;color:var(--muted);font-size:10.5px;font-weight:600}.nav button[aria-current=page]{color:var(--accent-ink)}.nav .ic{font-size:19px;line-height:1}.sheet-bg{position:fixed;inset:0;z-index:60;background:#090e1480;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:640px;max-height:92vh;overflow-y:auto;background:var(--surface);border-radius:18px 18px 0 0;padding:8px 16px calc(20px + var(--safe-b));border:1px solid var(--line);border-bottom:0;animation:rise .18s ease-out}@keyframes rise{0%{transform:translateY(14px);opacity:.6}to{transform:none;opacity:1}}.grab{width:38px;height:4px;border-radius:2px;background:var(--line);margin:6px auto 12px}.sheet h3{margin:0 0 2px;font-size:18px}.sheet .who2{font-size:13px;color:var(--muted);margin-bottom:14px}.lab{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:16px 0 7px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);font-size:14px;font-weight:600;min-height:42px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.chip.danger[aria-pressed=true]{background:var(--bad);border-color:var(--bad)}.chip.win[aria-pressed=true]{background:var(--good);border-color:var(--good)}textarea,input[type=text],input[type=password],input[type=datetime-local],input[type=number],input[type=date],input[type=tel],input[type=email],select{width:100%;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:11px 12px;resize:vertical}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7)}.err{background:var(--bad-bg);color:var(--bad);border-radius:10px;padding:10px 12px;font-size:14px;margin-top:12px}.hint{font-size:12.5px;color:var(--muted);margin-top:6px}.auth{min-height:100%;display:grid;place-items:center;padding:24px 18px calc(24px + var(--safe-b))}.auth-box{width:100%;max-width:380px}.brand{text-align:center;margin-bottom:28px}.brand .hex{width:62px;height:62px;display:block;margin:0 auto;border-radius:14px;box-shadow:var(--shadow)}.brand h1{margin:6px 0 2px;font-size:25px;font-weight:800;letter-spacing:-.02em}.brand p{margin:0;color:var(--muted);font-size:14px}.field{display:block;margin-bottom:14px}.field span{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px}.pinrow{display:flex;gap:10px;justify-content:center;margin:6px 0 18px}.pindot{width:15px;height:15px;border-radius:50%;border:2px solid var(--line)}.pindot.on{background:var(--accent);border-color:var(--accent)}.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keys button{min-height:62px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:24px;font-weight:600;box-shadow:var(--shadow)}.keys button:active{background:var(--accent-bg)}.keys .blank{visibility:hidden}.money{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:grid;gap:7px}.money.ours{background:var(--good-bg);border-color:var(--good)}.money.ours.cut{background:var(--warn-bg);border-color:var(--warn)}.mrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px}.mrow>span{color:var(--ink-2)}.mrow>b{white-space:nowrap}.mrow.strong{border-top:1px solid var(--line);padding-top:8px;margin-top:2px;font-size:16px}.mrow.strong>span{color:var(--ink);font-weight:600}.mrow.strong>b{font-size:19px;font-weight:800;letter-spacing:-.01em}.row-between{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:2px}.fab{position:fixed;right:14px;z-index:45;bottom:calc(64px + var(--safe-b) + 14px);width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;font-size:21px;line-height:1;display:grid;place-items:center;box-shadow:0 6px 18px -4px #0d52bf73}.fab:active{transform:scale(.94)}.hit{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px 11px;margin-top:7px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px}.hit:active{background:var(--accent-bg)}.hit[disabled]{opacity:.75}.hit-ic{width:30px;height:30px;flex:none;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:14px}.hit-txt{display:grid;gap:1px;min-width:0}.hit-txt b{font-size:14.5px}.hit-txt span{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}.answer{background:var(--blush);color:var(--blush-ink);border-radius:var(--r);padding:13px 14px;margin-top:14px}.answer-main{margin:0;font-size:15.5px;font-weight:600;line-height:1.4}.answer-detail{margin:6px 0 0;font-size:13.5px;opacity:.85}.closex{width:34px;height:34px;border-radius:50%;flex:none;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:15px;line-height:1;display:grid;place-items:center}.closex:active{background:var(--accent-bg)}.updatebar{position:fixed;left:8px;right:8px;z-index:55;bottom:calc(64px + var(--safe-b) + 8px);max-width:624px;margin:0 auto;background:var(--accent);color:#fff;border-radius:var(--r);padding:11px 14px;font-size:13.5px;font-weight:600;text-align:center;box-shadow:var(--shadow)}.install{position:fixed;left:8px;right:8px;z-index:50;bottom:calc(64px + var(--safe-b) + 8px);background:var(--surface);border:1px solid var(--accent);border-radius:var(--r);padding:12px 13px;box-shadow:0 10px 30px #00000059;max-width:624px;margin:0 auto}.install-row{display:flex;align-items:flex-start;gap:11px}.install-ic{border-radius:9px;flex:none}.install-txt{min-width:0;display:grid;gap:2px}.install-txt b{font-size:14.5px}.install-txt span{font-size:12.5px;color:var(--muted)}.install-x{flex:none;color:var(--muted);font-size:15px;padding:2px 4px;margin:-2px -4px 0 0}.install .btn{margin-top:11px}.install-steps{margin:10px 0 0;padding-left:20px;font-size:13.5px;line-height:1.7;color:var(--ink-2)}.tl{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.tl:last-of-type{border-bottom:0}.tl-ic{width:30px;height:30px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font-size:14px}.tl-body{min-width:0}.tl-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px}.tl-top b{text-transform:capitalize;font-size:13.5px}.tl-when{color:var(--muted);font-size:12px;margin-left:auto;white-space:nowrap}.tl-text{font-size:14.5px;color:var(--ink-2);margin-top:3px;overflow-wrap:anywhere}.tl-by{font-size:11.5px;color:var(--muted);margin-top:2px}.legacy{margin:22px 0 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}.legacy summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--muted)}.legacy dl{margin:12px 0 0;display:grid;gap:8px}.legacy dl>div{display:grid;grid-template-columns:40% 1fr;gap:10px;font-size:13px}.legacy dt{color:var(--muted);overflow-wrap:anywhere}.legacy dd{margin:0;overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
