*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#f6f4ef;color:#222;line-height:1.45}
header{background:#2f5d50;color:#fff;padding:1.2rem}header h1{margin:0}.note{font-size:.85rem;opacity:.85}
main{max-width:1000px;margin:auto;padding:1rem}section{margin-bottom:2rem}
.filters{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:.8rem}select,button{font-size:1rem;padding:.5rem .8rem;border-radius:8px;border:1px solid #bbb}
button{background:#e07a2f;color:#fff;border:none;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 1px 4px #0002}.card h3{margin:.2rem 0}
.tags span{display:inline-block;font-size:.75rem;background:#e5efe9;border-radius:6px;padding:2px 6px;margin-right:4px}
.macros{display:flex;gap:.6rem;font-weight:600;font-size:.9rem;margin:.5rem 0}.macros b{color:#2f5d50}
details{margin-top:.4rem}table{width:100%;border-collapse:collapse;background:#fff}td,th{padding:.4rem;border-bottom:1px solid #ddd;text-align:left}
footer{text-align:center;padding:1rem;font-size:.85rem;color:#666}

.add{margin-top:.6rem;width:100%;background:#2f5d50}.note2{font-size:.85rem;color:#666}
.day{background:#fff;border-radius:10px;padding:.7rem;margin-bottom:.6rem;box-shadow:0 1px 3px #0001}
.day ul{margin:.3rem 0;padding-left:1.1rem}.day li{margin:.25rem 0}.day select{padding:.2rem;font-size:.85rem}
.rm{background:none;color:#c44;padding:0 .3rem;font-size:.85rem}.tot{font-weight:600}.ok{color:#2f7d4f}.warn{color:#c47a00}
button.sec{background:#999;margin-top:.6rem}
