:root{color-scheme:light;--bg:#f4f5f8;--panel:#fff;--text:#172033;--muted:#667085;--line:#e5e8ee;--accent:#245de8;--on-accent:#fff;--soft:#eaf0ff;--red:#bc2940;--green:#207852}html[data-theme=dark]{color-scheme:dark;--bg:#161a22;--panel:#222834;--text:#eef2fa;--muted:#a7b2c5;--line:#353d4c;--accent:#8bafff;--on-accent:#142341;--soft:#263753;--red:#ff99a4;--green:#80dbb3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}#app{max-width:520px;margin:auto;padding-top:env(safe-area-inset-top)}header{padding:24px 22px 12px;display:flex;align-items:center;justify-content:space-between}small{font-size:11px;letter-spacing:.7px;color:var(--muted)}h1{font-size:28px;letter-spacing:-.6px;margin:4px 0;font-weight:650}h2{font-size:20px;margin:0;font-weight:600}h3{font-size:16px;margin:22px 0 10px;font-weight:600}main{padding:0 22px calc(100px + env(safe-area-inset-bottom))}.card{background:var(--panel);padding:17px;border-radius:18px;margin:12px 0}.hero{background:var(--soft);padding:24px 22px;border-radius:22px;margin:14px 0}.big{font-size:40px;font-weight:650;letter-spacing:-1.2px;margin:6px 0;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:12px}.row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0}.row+.row{border-top:1px solid var(--line)}.row>div:first-child{min-width:0;overflow-wrap:anywhere}.num{font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}.tag{font-size:11px;color:var(--accent);background:var(--soft);border-radius:7px;padding:4px 8px;display:inline-block}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.actions button{flex:1}button{font:inherit;border:0;border-radius:12px;min-height:44px;padding:11px 13px;background:var(--soft);color:var(--accent);cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.primary{background:var(--accent);color:var(--on-accent);width:100%;font-weight:600}.ghost{background:transparent}.danger{color:var(--red)}.green{color:var(--green)}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:520px;background:var(--panel);border-top:1px solid var(--line);display:flex;align-items:center;padding:10px 7px calc(10px + env(safe-area-inset-bottom));z-index:5}nav button{flex:1;padding:10px 3px;background:transparent;color:var(--muted);font-size:11px}nav button[aria-current=page]{color:var(--accent);background:var(--soft)}nav .add{flex:.7;background:var(--accent);color:var(--on-accent);font-size:26px;margin:0 6px}.track{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin:10px 0}.track>span{height:100%;display:block;background:var(--accent)}dialog{color:var(--text);background:var(--panel);border:0;border-radius:24px;padding:22px;width:calc(100% - 24px);max-width:480px;max-height:85dvh;overflow:auto}dialog::backdrop{background:#0007}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-head button{font-size:22px;background:transparent}label{display:block;margin:15px 0 6px;font-size:12px;color:var(--muted)}input,select{width:100%;font:inherit;font-size:16px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);min-height:46px}.check{display:flex;align-items:center;gap:10px;min-height:44px}.check input{width:20px;min-height:20px}.check label{margin:0}.empty{text-align:center;padding:35px 12px;color:var(--muted)}#error{color:var(--red);font-size:13px;margin:14px 0}#notice{margin:0 22px 12px;padding:12px;background:var(--soft);border-radius:12px;font-size:12px}.chart-row{margin:12px 0}.chart-row .row{padding:0}.confirm-text{margin:16px 0}.summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary .card{margin:10px 0}.summary strong{display:block;margin-top:8px;font-size:20px}.history-actions{display:flex;justify-content:flex-end;gap:6px}.history-actions button{font-size:12px;padding:7px 10px;min-height:36px}.period-nav{display:flex;align-items:center;justify-content:space-between;gap:6px}.period-nav button{background:transparent}.loading{opacity:.6;pointer-events:none}@media(max-width:360px){header{padding:20px 14px 10px}main{padding-left:14px;padding-right:14px}.big{font-size:34px}.summary strong{font-size:17px}.num{max-width:48%;overflow-wrap:anywhere;white-space:normal}}

.filters-grid{display:block}.filters-grid input,.filters-grid select{margin-bottom:8px}#report-filters .primary{margin-top:14px}
