:root{--bg:#faf9f7;--surface:#fff;--text:#1d1b19;--muted:#817a73;--border:#e9e4dd;--accent:#e8622c;--accent-soft:#fbe9e0;--good:#2f8f5b;--good-soft:#e4f1ea;--bad:#c6482c;--bad-soft:#f8e5df;--radius:12px;--radius-sm:8px;--gap:20px;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{min-height:100vh;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}button{font:inherit;cursor:pointer}input,select{font:inherit;color:inherit}a{color:var(--accent)}.page{max-width:760px;margin:0 auto;padding:28px 20px 80px}.topbar{justify-content:space-between;align-items:baseline;margin-bottom:28px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.35rem;font-weight:600;display:flex}.brand img{width:30px;height:30px}.topbar .meta{color:var(--muted);align-items:center;gap:14px;font-size:.85rem;display:flex}.linkish{color:var(--muted);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.linkish:hover{color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.columns{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.stack{gap:var(--gap);margin-top:var(--gap);display:grid}@media (width<=560px){.columns{grid-template-columns:1fr}}.intake h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.8rem;font-weight:600}.intake .figure{align-items:baseline;gap:6px;margin:10px 0 2px;display:flex}.intake .figure .total{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:600}.intake .figure .unit{color:var(--muted);font-size:1rem}.intake .goal{color:var(--muted);margin-bottom:16px;font-size:.9rem}.bar{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.bar>span{border-radius:999px;height:100%;transition:width .25s;display:block}.status{align-items:center;gap:10px;margin-top:14px;display:flex}.pill{border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600}.pill.good{background:var(--good-soft);color:var(--good)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.neutral{background:var(--accent-soft);color:var(--accent)}.status .detail{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.field{gap:6px;display:grid}.field>label{color:var(--muted);font-size:.8rem;font-weight:500}input[type=text],input[type=number],input[type=email],select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);outline:none;width:100%;padding:10px 12px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.row{flex-wrap:wrap;gap:12px;display:flex}.row>*{flex:1 1 0;min-width:0}.btn{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:10px 18px;font-weight:600}.btn:hover{filter:brightness(.96)}.btn.ghost{color:var(--accent);background:0 0}.btn:disabled{opacity:.5;cursor:default}.checkbox{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.checkbox input{width:auto}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:14px;font-size:.8rem;font-weight:600}.error{color:var(--bad);font-size:.85rem}.hint{color:var(--muted);font-size:.85rem}.entries{margin:0;padding:0;list-style:none}.entries li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.entries li:first-child{border-top:none}.entries .name{font-weight:500}.entries .macros{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.icon-btn{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.1rem;line-height:1}.icon-btn:hover{color:var(--bad);background:var(--bad-soft)}.empty{color:var(--muted);padding:8px 0;font-size:.9rem}.login{text-align:center;max-width:380px;margin:12vh auto 0;padding:0 20px}.login .brand{justify-content:center;margin-bottom:8px;font-size:1.6rem}.login p.tagline{color:var(--muted);margin:0 0 28px}.login form{text-align:left;gap:12px;display:grid}.login .btn{width:100%}.notice{background:var(--good-soft);color:var(--good);border-radius:var(--radius-sm);padding:12px 14px;font-size:.9rem}.chart-card h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-size:.8rem;font-weight:600}.chart svg{width:100%;height:auto;display:block}.segmented{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);color:var(--muted);border:none;padding:6px 16px;font-size:.85rem;font-weight:500}.segmented button.active{background:var(--accent);color:#fff}
