:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172238;background:#f3f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}.shell{max-width:850px;margin:auto;min-height:100dvh;padding:20px 16px 100px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.brand{font-size:22px;font-weight:800;letter-spacing:-.7px}.muted{color:#66758d}.small{font-size:12px}.pill{font-size:11px;border-radius:100px;background:#e3ebf7;padding:6px 10px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:white;border:1px solid #e4eaf2;border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #12213908}.card h3{margin:0 0 12px;font-size:16px}.metric{font-size:26px;font-weight:800;letter-spacing:-.8px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row.wrap{flex-wrap:wrap}.stack{display:grid;gap:10px}.label{font-size:12px;color:#60718a;margin-bottom:5px}input,select,textarea{width:100%;background:#f8fafc;border:1px solid #dbe3ed;border-radius:11px;padding:12px;min-height:43px;color:#15243a}textarea{min-height:75px}button{border:0;background:#162c4b;color:white;border-radius:11px;padding:11px 14px;font-weight:650}button.secondary{background:#e9eff7;color:#263c5b}button.danger{background:#fee9e9;color:#a12525}button.ghost{background:transparent;color:#34506d;padding:6px}button.tiny{padding:7px 10px;font-size:12px}button.full{width:100%}.nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e1e7ef;display:flex;justify-content:center;padding:9px 4px max(12px,env(safe-area-inset-bottom));z-index:10}.nav-inner{display:flex;max-width:850px;width:100%;justify-content:space-around}.nav button{background:transparent;color:#72829a;padding:6px 4px;font-size:11px;display:grid;gap:3px;min-width:58px}.nav button.active{color:#1465b4}.nav .symbol{font-size:22px}.bar{height:9px;background:#e8edf4;border-radius:20px;overflow:hidden}.bar>div{height:100%;background:#3978d2;border-radius:20px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar .weekday{font-size:11px;color:#8490a3;padding:8px 0}.day{border-radius:11px;background:#f0f4f9;padding:10px 0;font-size:13px;color:#26364e;min-height:39px}.day.today{outline:2px solid #3073cc}.day.selected{background:#1d4f92;color:white}.day.has{font-weight:800}.day.future{opacity:.4}.section{font-size:20px;margin:4px 0 15px;letter-spacing:-.4px}.entry{border-top:1px solid #eef1f5;padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}.entry:first-child{border-top:0}.empty{color:#7b8ba0;text-align:center;padding:18px}.tabs{display:flex;gap:6px;overflow:auto;margin-bottom:12px}.tabs button{white-space:nowrap;background:#e8eef6;color:#334b69}.tabs button.active{background:#183d71;color:white}.chart{width:100%;height:205px}.chart text{font-size:10px;fill:#8390a0}.notice{padding:12px;background:#e8f3ff;border-radius:12px;font-size:13px;line-height:1.45;margin-bottom:12px}.warn{background:#fff3db}.good{color:#17805c}.bad{color:#b34a3d}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions>*{flex:1}.hide{display:none!important}@media(min-width:650px){.shell{padding:28px 24px 105px}.grid.cols3{grid-template-columns:repeat(3,1fr)}}
