:root{--bg:#f5f5f7;--card:rgba(255,255,255,.82);--text:#1d1d1f;--muted:#86868b;--line:#e7e7ea;--blue:#0071e3;--green:#248a3d;--red:#d70015;--yellow:#b26a00;--shadow:0 14px 40px rgba(0,0,0,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.shell{max-width:760px;margin:auto;padding:0 18px 110px}.topbar{padding:calc(18px + env(safe-area-inset-top)) 2px 22px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--muted);margin-bottom:5px}.topbar h1{font-size:32px;line-height:1.05;letter-spacing:-.045em;margin:0;font-weight:700}.icon-btn{border:0;background:#fff;width:42px;height:42px;border-radius:50%;font-size:26px;box-shadow:0 5px 18px rgba(0,0,0,.08);cursor:pointer}.hero-card{background:#111;color:#fff;border-radius:28px;padding:26px 24px 22px;box-shadow:var(--shadow);margin-bottom:14px}.hero-label{font-size:14px;color:#b8b8bd}.hero-value{font-size:46px;letter-spacing:-.055em;font-weight:700;margin:7px 0 9px}.hero-meta{font-size:12px;color:#a8a8ad;display:flex;gap:7px;align-items:center}.dot{opacity:.5}.progress,.mini-progress{height:5px;background:rgba(0,0,0,.08);border-radius:99px;overflow:hidden}.hero-card .progress{background:#343437;margin-top:20px}.progress span,.mini-progress i{display:block;height:100%;border-radius:99px;background:var(--blue)}.grid{display:grid;gap:12px}.two{grid-template-columns:1fr 1fr}.metric{background:var(--card);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.metric span,.metric small{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:22px;letter-spacing:-.035em;margin:8px 0 5px}.mini-progress{margin-top:12px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:30px 2px 12px}.section-head h2{font-size:22px;letter-spacing:-.035em;margin:0}.text-btn{border:0;background:transparent;color:var(--blue);font-weight:600;padding:4px;cursor:pointer}.stack,.card-list{display:grid;gap:10px}.budget-row,.event,.goal-card,.operation{background:var(--card);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.75);border-radius:20px;box-shadow:var(--shadow)}.budget-row{padding:17px}.row-main{display:flex;align-items:center;gap:8px}.row-main b{font-size:16px}.row-main span{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.08em;background:#f0f0f2;padding:4px 7px;border-radius:8px}.budget-row>strong{display:block;font-size:25px;letter-spacing:-.04em;margin-top:8px}.row-foot,.goal-foot{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;margin-top:7px}.event{display:grid;grid-template-columns:48px 1fr auto 8px;align-items:center;gap:12px;padding:12px 14px}.date{background:#f0f0f2;border-radius:13px;text-align:center;padding:7px 4px}.date b{font-size:18px;display:block;line-height:1}.date span{font-size:8px;color:var(--muted);font-weight:700}.event div:nth-child(2) b,.operation b{display:block;font-size:14px}.event small,.operation small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.event>strong{font-size:14px;white-space:nowrap}.risk{width:7px;height:7px;border-radius:50%}.risk.red{background:var(--red)}.risk.yellow{background:#f2a900}.goal-card{padding:18px}.goal-top{display:flex;justify-content:space-between;align-items:end}.goal-top span{display:block;color:var(--muted);font-size:12px}.goal-top b{display:block;font-size:25px;letter-spacing:-.04em;margin-top:5px}.goal-top em{font-style:normal;font-size:13px;color:var(--blue);font-weight:700}.goal-card .progress{margin:15px 0 9px}.operations{display:grid;gap:8px}.operation{padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.operation .in{color:var(--green)}.operation .out{color:var(--red)}.tabbar{position:fixed;z-index:5;left:50%;transform:translateX(-50%);bottom:12px;width:min(720px,calc(100% - 24px));display:grid;grid-template-columns:repeat(4,1fr);padding:8px;background:rgba(255,255,255,.82);backdrop-filter:blur(24px);border:1px solid rgba(0,0,0,.07);box-shadow:0 12px 35px rgba(0,0,0,.14);border-radius:22px;bottom:calc(12px + env(safe-area-inset-bottom))}.tabbar button{border:0;background:transparent;color:var(--muted);padding:10px 4px;font-size:11px;font-weight:600;border-radius:14px}.tabbar button.active{color:var(--text);background:#f0f0f2}.tabbar button:last-child{color:var(--blue)}dialog{border:0;border-radius:26px;padding:0;width:min(92vw,420px);box-shadow:0 25px 80px rgba(0,0,0,.25);background:#f7f7f8}dialog::backdrop{background:rgba(0,0,0,.38);backdrop-filter:blur(5px)}#opForm{padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0 0 18px;font-size:24px;letter-spacing:-.04em}.close{border:0;background:#e8e8eb;width:32px;height:32px;border-radius:50%;font-size:20px}.modal-head .close{margin-top:-14px}label{display:block;font-size:12px;color:var(--muted);margin:12px 0}input,select,textarea{width:100%;margin-top:6px;border:1px solid #dddde1;border-radius:13px;padding:12px 13px;background:#fff;outline:none}textarea{min-height:80px;resize:vertical}.primary{width:100%;border:0;background:#111;color:#fff;border-radius:14px;padding:13px;margin-top:8px;font-weight:700}@media(min-width:700px){.shell{padding-left:24px;padding-right:24px}.hero-value{font-size:56px}}
