*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;color:#333}#root{min-height:100vh}.container{max-width:800px;margin:0 auto;padding:1rem}.header{background:#2d5016;color:#fff;padding:1.5rem;text-align:center;margin-bottom:2rem}.header h1{font-size:2rem}.button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .3s}.button-primary{background:#2d5016;color:#fff}.button-primary:hover{background:#1f3a0f}.button-secondary{background:#ddd;color:#333}.button-secondary:hover{background:#ccc}.button-danger{background:#dc3545;color:#fff}.button-danger:hover{background:#c82333}.entry-list{display:flex;flex-direction:column;gap:1rem}.entry-card{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:box-shadow .3s}.entry-card:hover{box-shadow:0 4px 8px #00000026}.entry-date{font-weight:700;color:#2d5016;font-size:1.1rem;margin-bottom:.5rem}.entry-time{color:#666;font-size:.9rem;margin-bottom:.5rem}.entry-notes{color:#555;margin:1rem 0;line-height:1.5}.entry-photos{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.entry-photo{width:100px;height:100px;object-fit:cover;border-radius:4px}.form{background:white;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.form-group textarea{resize:vertical;min-height:120px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2d5016;box-shadow:0 0 0 3px #2d50161a}.photo-preview{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.photo-preview img{width:100px;height:100px;object-fit:cover;border-radius:4px}.form-actions{display:flex;gap:1rem;margin-top:2rem}.loading{text-align:center;padding:2rem;font-size:1.1rem;color:#666}.error{background:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem}.success{background:#d4edda;color:#155724;padding:1rem;border-radius:4px;margin-bottom:1rem}@media (max-width: 640px){.container{padding:.5rem}.header h1{font-size:1.5rem}.entry-card{padding:1rem}}
