:root{--b:#0a66c2;--ink:#1d2226;--mut:#5e6670;--line:#dfe3e8;--bg:#f4f6f8;--ok:#127a3e;--warn:#9a5b00;--bad:#b3261e;font-family:system-ui,-apple-system,"Segoe UI","Hiragino Sans","Noto Sans JP",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:.875rem;line-height:1.45}
header{background:#fff;border-bottom:1px solid var(--line);padding:10px 12px 0}
.brand b{font-size:.9375rem;display:block}.brand .tag{display:block;color:var(--mut);font-size:.8125rem;margin:2px 0 8px}
nav{display:flex;gap:4px}.tab{border:0;background:none;padding:8px 10px;font:inherit;color:var(--mut);border-bottom:3px solid transparent;cursor:pointer}
.tab.on{color:var(--b);border-bottom-color:var(--b);font-weight:600}
main{padding:12px;max-width:760px;margin:0 auto}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 12px}
.card h3{margin:0 0 8px;font-size:.875rem}
.fld{display:block;margin:0 0 8px}.fld span{display:block;font-size:.8125rem;color:var(--mut);margin-bottom:3px}
input[type=text],input[type=number],textarea,select{width:100%;font:inherit;padding:7px 9px;border:1px solid #c9ced4;border-radius:7px;background:#fff;color:var(--ink);font-size:max(1rem,1em)}
textarea{resize:vertical;overflow:hidden;min-height:60px}select{width:auto}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}.row input[type=text]{flex:1;min-width:140px}
.mini{font-size:.8125rem;color:var(--mut)}
button,.btn{font:inherit;border-radius:20px;padding:7px 14px;border:1px solid var(--b);background:#fff;color:var(--b);cursor:pointer;text-decoration:none;display:inline-block}
.primary{background:var(--b);color:#fff;font-weight:600}.primary:disabled{opacity:.6}
#go{width:100%;padding:10px;margin-bottom:12px}
.ghost{background:#fff}.small{padding:4px 10px;font-size:.8125rem}.danger{border-color:var(--bad);color:var(--bad)}
.out{margin:0 0 10px}.olab{display:flex;align-items:center;gap:8px;margin-bottom:4px}.olab b{flex:1;font-size:.8125rem}
.cnt{font-size:.8125rem;color:var(--ok);font-variant-numeric:tabular-nums}.cnt.over{color:var(--bad);font-weight:700}
.via{font-size:.8125rem;margin:0 0 10px;padding:6px 8px;border-radius:6px;background:#eef5fc}.via.local{background:#fff6e5}
.ok{color:var(--ok);font-size:.8125rem;margin:0 0 6px}.how{font-size:.8125rem;color:var(--mut);margin:0 0 10px}
.msg{background:#eef5fc;border-radius:7px;padding:8px 10px}.warn{color:var(--warn);font-weight:600}
.week{font-size:.8125rem;color:var(--mut);margin:0 0 8px}.tools{margin-bottom:12px}
.grp{margin:14px 0 6px;font-size:.8125rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.prow{background:#fff;border:1px solid var(--line);border-radius:9px;margin:0 0 6px}.prow.due{border-left:4px solid var(--b)}.prow.send{border-left:4px solid #c9ced4}
.phead{padding:8px 10px;cursor:pointer}.phead .co{color:var(--mut)}.next{font-size:.8125rem;color:var(--mut);margin-top:2px}.next.due{color:var(--b);font-weight:600}
.chip{font-size:.8125rem;border-radius:10px;padding:1px 7px;margin-left:6px;background:#eef0f2;color:var(--mut)}
.chip.sent{background:#e8f1fb;color:var(--b)}.chip.accepted{background:#e6f4ec;color:var(--ok)}.chip.replied{background:#d7f0e0;color:var(--ok)}.chip.noreply{background:#f6e9e8;color:var(--bad)}
.pbody{padding:0 10px 10px}.acts{margin-top:6px}.hist{font-size:.8125rem;color:var(--mut);padding-left:18px}
.pay ul{padding-left:18px;margin:6px 0}.pay li{margin:0 0 6px}.pay .free,.lose,.muted{color:var(--mut);font-size:.8125rem}
.empty{color:var(--mut)}
.approve{background:#fff;border:1px solid #0a66c2;color:#0a66c2;margin-left:auto}.approve.on{background:#057642;border-color:#057642;color:#fff}
button:disabled{opacity:.45;cursor:not-allowed}
