:root{--fg:#5f5f5f;--muted:#767676;--btn:#6b6b6b;--btn-h:#555555;--line:#e5e5e5;--edge:#d0d0d0;--bar2:#c4c4c4}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--fg);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.hidden{display:none!important}
.wrap{max-width:560px;margin:0 auto;padding:20px 16px 90px}
h1{font-size:22px;font-weight:600;margin:0}
h2{font-size:15px;font-weight:600;margin:36px 0 12px}
h3{font-size:14px;font-weight:600;margin:22px 0 10px;color:var(--muted)}
input,select{display:block;width:100%;font:inherit;color:var(--fg);background:#fff;border:1px solid var(--edge);border-radius:10px;padding:12px 14px;margin:0 0 10px}
input::placeholder{color:var(--muted)}
input:focus,select:focus,button:focus-visible,summary:focus-visible{outline:2px solid var(--btn);outline-offset:1px}
.btn{background:var(--btn);color:#fff;border:0;border-radius:10px;padding:12px 20px;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:var(--btn-h)}
.btn.full{width:100%}
.btn-ghost{background:#fff;color:var(--fg);border:1px solid var(--edge);border-radius:10px;padding:12px 20px;font:inherit;cursor:pointer}
.actions{display:flex;gap:8px}
.actions .btn{flex:1}
.seg-wrap{display:flex;gap:8px;margin-bottom:12px}
.seg{flex:1;background:#fff;color:var(--fg);border:1px solid var(--edge);border-radius:10px;padding:12px;font:inherit;cursor:pointer}
.seg.active{background:var(--btn);color:#fff;border-color:var(--btn)}
.periods{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.per{background:#fff;color:var(--fg);border:1px solid var(--edge);border-radius:10px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer}
.per.active{background:var(--btn);color:#fff;border-color:var(--btn)}
.link{background:none;border:0;color:var(--muted);text-decoration:underline;font:inherit;cursor:pointer;padding:6px}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.err{color:var(--fg);font-weight:600;min-height:1.4em;margin:0 0 10px}
.sums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sum{border:1px solid var(--line);border-radius:10px;padding:10px}
.sum small{display:block;color:var(--muted);font-size:12px}
.sum b{font-size:15px;word-break:break-word}
.stat-row{margin:0 0 12px}
.stat-top{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:4px}
.bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:3px}
.fill{height:100%;background:var(--btn);border-radius:4px}
.fill.light{background:var(--bar2)}
.hint{font-size:12px;color:var(--muted);margin:0 0 10px}
.row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.row-info{flex:1;min-width:0}
.row-title{word-break:break-word}
.row-sub{font-size:13px;color:var(--muted)}
.row-amt{font-weight:600;white-space:nowrap}
.row-acts{display:flex;gap:4px;margin-top:2px}
.row-acts .link{font-size:13px;padding:4px 8px 4px 0}
.empty{color:var(--muted);padding:12px 0}
details{margin-top:36px}
summary{cursor:pointer;font-weight:600}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom));background:var(--btn);color:#fff;padding:10px 18px;border-radius:10px;font-size:14px;z-index:10}
