:root{
  --green:#0b7a36;--green2:#21a34f;--lime:#dff5d7;--orange:#ff7a25;--red:#d43d31;
  --ink:#172033;--muted:#6f7888;--line:#e3e8eb;--paper:#ffffff;--bg:#f5f8f6;
  --shadow:0 8px 26px rgba(22,55,35,.08);--radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fbfdfb 0,#f4f8f5 45%,#eef6ee 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
button,input,select{font:inherit}
button{cursor:pointer}
.app{max-width:1240px;margin:0 auto;padding:0 16px 50px}
.hero{display:grid;grid-template-columns:minmax(280px,760px) 1fr;gap:24px;align-items:center;padding:12px 0 10px}
.hero img{width:100%;max-height:160px;object-fit:contain;object-position:left center;border-radius:14px}
.hero-copy{background:#edf9df;border:1px solid #d6efc9;border-radius:20px;padding:20px 24px;text-align:center;box-shadow:var(--shadow)}
.hero-copy .big{font-family:"Comic Sans MS","Bradley Hand",cursive;font-size:27px;color:#254b2b;margin-bottom:4px}.hero-copy .small{color:#507157}
.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.05);display:flex;gap:7px;padding:7px;margin:5px 0 16px;overflow:auto}
.nav button{border:0;background:transparent;color:#344054;padding:10px 13px;border-radius:11px;white-space:nowrap;font-weight:700}.nav button.active,.nav button:hover{background:var(--green);color:white}
.section{scroll-margin-top:82px}
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:15px 16px;box-shadow:var(--shadow);min-height:115px}
.card .label{font-size:13px;color:var(--muted);font-weight:700}.card .value{font-size:27px;line-height:1.1;font-weight:850;margin:8px 0}.card .delta{font-size:13px;color:var(--muted)}
.good{color:var(--green)}.warn{color:var(--red)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow)}
.panel h2,.panel h3{margin:0 0 14px;font-size:20px}.panel h2 span,.panel h3 span{color:var(--green)}
.chart-wrap{height:300px;position:relative}.chart-wrap canvas{width:100%;height:100%;display:block}
.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar-left,.toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
select,input[type=date],input[type=number],input[type=text]{border:1px solid #cad2d8;border-radius:10px;background:white;padding:9px 10px;color:var(--ink);min-height:40px}
button.primary{border:0;background:var(--green);color:white;border-radius:10px;padding:10px 14px;font-weight:800}.primary:hover{background:#08672e}
button.secondary{border:1px solid #cdd7d1;background:white;color:#214c30;border-radius:10px;padding:9px 13px;font-weight:750}.secondary:hover{background:#f2f7f3}
button.danger{border:1px solid #f0c1bd;background:#fff7f6;color:#b42b22;border-radius:10px;padding:9px 13px;font-weight:750}
.week-head{display:grid;grid-template-columns:1.2fr repeat(6,1fr);gap:8px;margin:10px 0}.week-stat{background:#f7faf8;border:1px solid #e0e9e3;border-radius:12px;padding:10px}.week-stat .k{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.week-stat .v{font-size:18px;font-weight:850;margin-top:4px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}
table{width:100%;border-collapse:collapse;min-width:850px;background:white}th{position:sticky;top:0;background:#eef7ee;color:#294a31;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.035em;padding:10px;border-bottom:1px solid #d9e4dc}td{padding:8px 10px;border-bottom:1px solid #edf0ee;vertical-align:middle}tr:last-child td{border-bottom:0}td input{width:100%;min-width:88px;padding:7px 8px;min-height:35px}.day-cell{font-weight:800;min-width:105px}.note-input{min-width:145px}
.avg-row{background:#f7fbf7;font-weight:800}.status-pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#edf3ef;color:#4a5e50}.status-pill.over{background:#fff0eb;color:#b33e20}.status-pill.good{background:#e7f7e9;color:#176d32}
.summary-table table{min-width:920px}.summary-table tbody tr:hover{background:#fbfdfb}
.download-box{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.download-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.note{font-size:13px;color:var(--muted);line-height:1.45}.tiny{font-size:12px;color:var(--muted)}
.targets{display:flex;gap:8px;flex-wrap:wrap}.target-chip{padding:7px 10px;border-radius:999px;background:#f1f6f2;border:1px solid #dfe8e1;font-size:13px}.target-chip b{color:var(--green)}
.toast{position:fixed;right:18px;bottom:18px;background:#172033;color:#fff;padding:11px 15px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s;z-index:50}.toast.show{opacity:1;transform:none}
footer{text-align:center;color:#55705b;font-size:13px;padding:25px 0 5px}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.grid2,.download-box{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero-copy{display:none}.week-head{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.app{padding:0 10px 35px}.hero{padding-top:4px}.hero img{max-height:120px}.cards{grid-template-columns:1fr 1fr;gap:8px}.card{min-height:100px;padding:12px}.card .value{font-size:22px}.nav{border-radius:12px;margin-top:0}.panel{padding:12px;border-radius:14px}.chart-wrap{height:245px}.week-head{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch}.toolbar-left,.toolbar-right{width:100%}.toolbar select,.toolbar button{flex:1}.download-actions button{width:100%}}
